﻿Imports MySql.Data.MySqlClient

Public Class CAutenticacion

    Private conn As String = My.Settings.Conexion

    ''' <summary>
    ''' Retorna datos del usuario y clave que le llegan. 
    ''' </summary>
    ''' <param name="usuario"></param>
    ''' <param name="clave"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function Autenticar(ByVal usuario As String, ByVal clave As String) As DataSet
        Dim arrParam(2) As MySqlParameter
        arrParam(0) = New MySqlParameter("?usuario", usuario)
        arrParam(1) = New MySqlParameter("?clave", clave)        
        Return Data.ExecuteDataSet(Me.conn, "Autenticar", arrParam)
    End Function

    ''' <summary>
    ''' Retorna los nombres de los menus sobre los que el usuario tiene permisos
    ''' </summary>
    ''' <param name="idUsuario"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function GetPermisos(ByVal idUsuario As Integer) As DataSet
        Dim arrParam(1) As MySqlParameter
        arrParam(0) = New MySqlParameter("?varIdUsuario", idUsuario)
        Return Data.ExecuteDataSet(Me.conn, "GetPermisos", arrParam)
    End Function

    Public Function CambiarClave(ByVal idUsuario As Integer, ByVal antigua As String, ByVal nueva As String) As String
        Dim arrParam(4) As MySqlParameter
        arrParam(0) = New MySqlParameter("?idusuario", idUsuario)
        arrParam(1) = New MySqlParameter("?antigua", antigua)
        arrParam(2) = New MySqlParameter("?nueva", nueva)
        arrParam(3) = New MySqlParameter("?retorno", MySqlDbType.VarChar, 200)
        arrParam(3).Direction = ParameterDirection.Output
        Data.ExecuteNonQuery(Me.conn, "CambiarClave", arrParam)
        Return arrParam(3).Value
    End Function
End Class
